<?php
/** 
 * @brief 日志记录类 
 */
class Log {
    const EMERG  = 'EMERG';     // 致命性错误
    const ALERT  = 'ALERT';     // 警戒性错误
    const CRIT   = 'CRIT';      // 临界值错误
    const ERR    = 'ERR';       // 一般性错误
    const WARN   = 'WARN';      // 警告性错误
    const NOTICE = 'NOTICE';    // 通知
    const INFO   = 'INFO';      // 信息
    const DEBUG  = 'DEBUG';     // 调试
    const SQL    = 'SQL';       // SQL
    const RPC    = 'RPC';       // RPC
    const AMQP   = 'AMQP';      // 消息队列

    /**
     * 写日志保存到文件
     * 
     * @param string $message 日志信息
     * @param string $type 日志类别
     * 
     * @return void
     */
    public static function save($message, $type = self::DEBUG) {
        $dir = trim_path(APP_PATH . '/runtime/logs/');
        mk_dir($dir);
        $file = $dir . strtolower($type) . date('_Ymd') . '.txt';
        $log = sprintf("%s: %s\n", date('His'), $message);
        file_put_contents($file, $log, FILE_APPEND);
    }
}
